<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of xml
 *
 * @author Alencar Kunz
 */
class Webservice { 
    //put your code here
    private $wsdl = 'https://wsdtiss.unimed.coop.br/wsdadmin/wsdl/tiss/3_02_00/tissSolicitacaoProcedimentoV3_02_00.wsdl'; // homo 'https://wsdtiss.homologacao.unimed.coop.br/wsdadmin/wsdl/tiss/3_02_00/tissSolicitacaoProcedimentoV3_02_00.wsdl'; // host webservice
    private $certFile = "certs_prod/HSVP.pem"; // certificado prod certs_prod/HSVP.pem, homo certs_homo/HSVP.pem
    private $pass = 'unimed00'; // prod 'unimed00'; // homo 'uni$042'; // senha
    public $clientSoap = ''; 
    
    // conexão com webservices, validação de certificado e senha
    public function __construct($processo){  
        $this->setWsdl($processo);
        $this->clientSoap = new SoapClient($this->wsdl, array('local_cert' => $this->certFile,'passphrase' => $this->pass ));  
        
        // end point homologação 
        /*
        if($processo == 'tissSolicitacaoProcedimento') $this->clientSoap->__setLocation('https://wsdtiss.homologacao.unimed.coop.br/wsd/services/tiss_v3_02_00/tissSolicitacaoProcedimento');
        else if($processo == 'tissSolicitacaoStatusAutorizacao') $this->clientSoap->__setLocation('https://wsdtiss.homologacao.unimed.coop.br/wsd/services/tiss_v3_02_00/tissSolicitacaoStatusAutorizacao');
        else if($processo == 'tissComunicacaoBeneficiario') $this->clientSoap->__setLocation('https://wsdtiss.homologacao.unimed.coop.br/wsd/services/tiss_v3_02_00/tissComunicacaoBeneficiario'); 
        else if($processo == 'tissCancelaGuia') $this->clientSoap->__setLocation('https://wsdtiss.homologacao.unimed.coop.br/wsd/services/tiss_v3_02_00/tissCancelaGuia'); 
        */
        
        // end point produção
        if($processo == 'tissCancelaGuia') $this->clientSoap->__setLocation('https://wsdtiss.unimed.coop.br/wsd/services/tiss_v3_02_00/tissCancelaGuia');
        else if($processo == 'tissComunicacaoBeneficiario') $this->clientSoap->__setLocation('https://wsdtiss.unimed.coop.br/wsd/services/tiss_v3_02_00/tissComunicacaoBeneficiario');
        else if($processo == 'tissLoteAnexo') $this->clientSoap->__setLocation('https://wsdtiss.unimed.coop.br/wsd/services/tiss_v3_02_00/tissLoteAnexo');
        else if($processo == 'tissRecursoGlosa') $this->clientSoap->__setLocation('https://wsdtiss.unimed.coop.br/wsd/services/tiss_v3_02_00/tissRecursoGlosa');
        else if($processo == 'tissSolicitacaoDemonstrativoRetorno') $this->clientSoap->__setLocation('https://wsdtiss.unimed.coop.br/wsd/services/tiss_v3_02_00/tissSolicitacaoDemonstrativoRetorno');
        else if($processo == 'tissSolicitacaoProcedimento') $this->clientSoap->__setLocation('https://wsdtiss.unimed.coop.br/wsd/services/tiss_v3_02_00/tissSolicitacaoProcedimento');
        else if($processo == 'tissSolicitacaoStatusAutorizacao') $this->clientSoap->__setLocation('https://wsdtiss.unimed.coop.br/wsd/services/tiss_v3_02_00/tissSolicitacaoStatusAutorizacao');
        else if($processo == 'tissSolicitacaoStatusProtocolo') $this->clientSoap->__setLocation('https://wsdtiss.unimed.coop.br/wsd/services/tiss_v3_02_00/tissSolicitacaoStatusProtocolo');
        else if($processo == 'tissVerificaElegibilidade') $this->clientSoap->__setLocation('https://wsdtiss.unimed.coop.br/wsd/services/tiss_v3_02_00/tissVerificaElegibilidade');
        else if($processo == 'tissSolicitacaoStatusProtocoloRecurso') $this->clientSoap->__setLocation('https://wsdtiss.unimed.coop.br/wsd/services/tiss_v3_02_00/tissSolicitacaoStatusProtocoloRecurso');
        else if($processo == 'tissLoteGuias') $this->clientSoap->__setLocation('https://wsdtiss.unimed.coop.br/wsd/services/tiss_v3_02_00/tissLoteGuias');
    } 
    
    // seta endereço do host para comunicação webservice
    public function setWsdl($processo){
        // homologação
        /*
        if($processo == 'tissSolicitacaoProcedimento') $this->wsdl = 'https://wsdtiss.homologacao.unimed.coop.br/wsdadmin/wsdl/tiss/3_02_00/tissSolicitacaoProcedimentoV3_02_00.wsdl'; 
        else if($processo == 'tissSolicitacaoStatusAutorizacao') $this->wsdl = 'https://wsdtiss.homologacao.unimed.coop.br/wsdadmin/wsdl/tiss/3_02_00/tissSolicitacaoStatusAutorizacaoV3_02_00.wsdl';
        else if($processo == 'tissComunicacaoBeneficiario') $this->wsdl = 'https://wsdtiss.homologacao.unimed.coop.br/wsdadmin/wsdl/tiss/3_02_00/tissComunicacaoBeneficiarioV3_02_00.wsdl';
        else if($processo == 'tissCancelaGuia') $this->wsdl = 'https://wsdtiss.homologacao.unimed.coop.br/wsdadmin/wsdl/tiss/3_02_00/tissCancelaGuiaV3_02_00.wsdl';        
        */
        if($processo == 'tissSolicitacaoProcedimento') $this->wsdl = 'https://wsdtiss.unimed.coop.br/wsdadmin/wsdl/tiss/3_02_00/tissSolicitacaoProcedimentoV3_02_00.wsdl'; 
        else if($processo == 'tissSolicitacaoStatusAutorizacao') $this->wsdl = 'https://wsdtiss.unimed.coop.br/wsdadmin/wsdl/tiss/3_02_00/tissSolicitacaoStatusAutorizacaoV3_02_00.wsdl';
        else if($processo == 'tissComunicacaoBeneficiario') $this->wsdl = 'https://wsdtiss.unimed.coop.br/wsdadmin/wsdl/tiss/3_02_00/tissComunicacaoBeneficiarioV3_02_00.wsdl';
        else if($processo == 'tissCancelaGuia') $this->wsdl = 'https://wsdtiss.unimed.coop.br/wsdadmin/wsdl/tiss/3_02_00/tissCancelaGuiaV3_02_00.wsdl';        
        
    } 
         
    
    // chamadas de envios ao webservice
    public function tissSolicitacaoProcedimento($xml){  
        return $result = $this->clientSoap->__call("tissSolicitacaoProcedimento_Operation", array($xml)); 
    }  
    public function tissSolicitacaoStatusAutorizacao($xml){  
        return $result = $this->clientSoap->__call("tissSolicitacaoStatusAutorizacao_Operation", array($xml));
    }   
    public function tissComunicacaoBeneficiario($xml){  
        return $result = $this->clientSoap->__call("tissComunicacaoBeneficiario_Operation", array($xml)); 
    }
    public function tissCancelaGuia($xml){  
        return $result = $this->clientSoap->__call("tissCancelaGuia_Operation", array($xml)); 
    }
    // fim chamadas de envios ao webservice
}

?>
